import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;



@ManagedBean
@RequestScoped
public class Forum implements Serializable {
    private static final long serialVersionUID = 1L;
    private String name;
    private List<Thema> themen;
    private Thema aktThema;

    public Forum() {
        name = "Disskusionplattform";
        themen = new ArrayList();
    }
    

    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public String toString() {
        return name;
    }    
    
    
    
    // Gibt zu einem Thema den Platz in der Liste zurück
    // Wird als Parameter in der URL verwendet
    public int themaNr(Thema thema){
        for(int i=0; i<themen.size(); i++){
            if(themen.get(i).equals(thema)){
                return i;
            }
        }
        return -1;
    }

    public List<Thema> getThemen() {
        return themen;
    }
    
    
    
    
    public void aktuellesThema(int t){
        aktThema = themen.get(t);    
    }
    
    public Thema getThema(){
        return aktThema;
    }
    
    
    public Thema thema(int i) {
        if(i>=0 && i<themen.size()){
            return themen.get(i);
        }
        else {
            return new Thema("Unbekanntes Thema");
        }
    }

    public void addThema(Thema thema) {
        if( !themen.contains(thema) ){
            themen.add(thema);
        }
    }
    
   
    public String addNachricht(Nachricht n) {
        aktThema.addNachricht(n);
        return "./thema.xhtml?faces-redirect=true&id="+themaNr(aktThema);
    }
}
